/*
 * @description:
 * @Author: lal
 * @Date: 2021-07-12 11:26:01
 * @LastEditors: lal
 * @LastEditTime: 2021-07-12 11:30:36
 */
/*
 * @lc app=leetcode.cn id=674 lang=javascript
 *
 * [674] 最长连续递增序列
 */

// @lc code=start
/**
 * @param {number[]} nums
 * @return {number}
 */
var findLengthOfLCIS = function (nums) {
  let result = 0,
    start = 0,
    length = nums.length
  for (let index = 0; index < length; index++) {
    if (nums[index] <= nums[index - 1]) {
      result = Math.max(index - start, result)
      start = index
      if (length - start < result) return result
    }
  }
  return Math.max(length - start, result)
}
// @lc code=end

// 首先可以想到，判断连续是nums[i + 1] > nums[i]
// 其次需要注意，在不连续的时候，数组的后面可能存在比之前递增序列要大的递增序列。例如：[1,3,5,4,2,3,4,5]
// 所以，我们需要两个变量start, result
//     - start 变量存储递增子序列的开始下标。数组下标i和start确认递增序列长度。
//     - result 用于存储前面一个递增序列的长度。

// 如果数组剩余的长度小于result，则可以提前返回。
// 最后注意，最后一个递增序列到数组的尾部的情况。
